会方式 0,用 8255 控制 A/D 转换器,8255 初始化程序的编写,8255的控制程序的编写
占用两根地址线,7 根数据线
控制字格式:
6 种工作方式
- 方式 0 :计数结束产生中断
- 方式1:产生一定宽度的负脉冲 (只产生一个负脉冲)
- 写入计数值 N 之后,计数器输出 out 变高
- 门控信号 GATE 上升沿,计数器启动,out 变低
- 计数结束之后 OUT 输出变高
- 得到由 GATE 的上升沿开始到计数结束为止的宽度为 N 的负脉冲
- 方式2:产生周期性的负脉冲
- 写入计数值 N 后,out 输出变高,等待 GATE 的上升沿出现
- GATE 为高电平,允许计数,在下一个 CLK 脉冲的下降沿将计数初值送入减1计数器
- 计数开始后,OUT 以 N 倍 CLK 周期输出一个 CLK 周期宽度的负脉冲 (计数器减到1时开始送出负脉冲,计数周期包括负脉冲所占的周期)
- GATE 为低电平时,暂停计数并输出高电平,由低变高重新加载计数初值
- 方式3:产生周期性的方波
- 当装入的计数值 N 为偶数时,前 N/2 为高电平,当 N 为奇数时,高电平的计数区间比低电平多1
- GATE 为低电平时,OUT 输出高电平,当 GATE 由低变高出现正跳变时,计数器重新初始计数
- 方式4:软件触发选通
- 一旦装入计数值,计数立即开始,经过 N 个 CLK 周期后,OUT 输出一个宽度为一个时钟周期的负脉冲
- GATE 为高电平时,计数进行,GATE 为低,计数暂停
- 方式5:硬件触发选通
- GATE 的上升沿,计数开始,当又出现了 GATE 的上升沿,计数从头开始,用于电源掉电检测
连接方式:
-
串联实现分频
-
产生周期性的负脉冲,并且负脉冲的宽度可以改变:
两个计数器使用相同的时钟信号,计数器 0 工作在方式2或3,产生周期性的信号,周期性的信号接在 技术器 1 的门控信号。(工作在方式1)
数码管、ADDA 转换
ADDA 使用 8255 控制,数码管用 273 控制,数码管的链接方式,编写计数程序,增加查询功能,开关按下去做+计数,用三态门设计一个输入接口,读开关的状态
功能 | 器件 | 引脚 |
---|---|---|
数据锁存器 | 74LS273 | D0-D7,CP接片选,CLR非接高电平 |
三态门 | 74LS244 | 8 输入,8输出,E1 E2 非两个片选 |
输入输出接口 | 8255 | A0 A1 两根地址线,8根数据线,读写信号,cs片选,A、B 、C32个输出 |
可编程计数器 | 8253 | A0 A1 两根地址线,8根数据线,3个计数器,每个计数器 CGO三个引脚 |
中断控制器 | 8259 | |
总线驱动 | 双向:74LS245,单向:244 | 8 个输入,DIR 接内存读信号,OE 接片选 |
DMA 控制器 | 8237 |